package com.atguigu.day12.comparator06.c1;

import org.junit.Test;
/*
比较对象大小
   Comparable: 内部比较器(比较对象所在类的内部制定比较规则)
      1.让比较对象所在的类实现接口Comparable
      2.重写方法制定比较规则
           前一个对象> 后一个对象 返回正整数
           前一个对象< 后一个对象 返回负整数
           前一个对象==后一个对象 返回0
      3.对象调用方法 根据返回的数值判断大小
   Comparator:外部/定制比较器(比较对象所在类的外部制定比较规则)
       1.创建一个比较规则类 实现接口 Comparator
       2.重写方法 制定比较规则
           前一个对象> 后一个对象 返回正整数
           前一个对象< 后一个对象 返回负整数
           前一个对象==后一个对象 返回0
       3.需要比较对象的位置 创建比较规则类对象
       4.调用比较方法  根据返回的数值判断大小

 */
public class StudentTest {
    @Test
    public void test01() {
        Student s1 = new Student("李白", 20, 99.5);
        Student s2 = new Student("杜甫", 18, 99.9);
        //创建比较规则类对象
        SortStudentByAge byAge = new SortStudentByAge();

        int result = byAge.compare(s1, s2);
        System.out.println("result = " + result);

    }
    @Test
    public void test02(){
        Student s1 = new Student("李白", 20, 99.5);
        Student s2 = new Student("杜甫", 18, 99.9);
        //创建比较规则类对象
        SortStudentByScore byScore = new SortStudentByScore();

        int compare = byScore.compare(s1, s2);
        System.out.println("compare = " + compare);

    }
}
